const { body } = require('express-validator')

// 添加产品验证规则
const addProductSchema = [
    body('product_name')
        .notEmpty()
        .withMessage('产品名称不能为空')
        .isLength({ min: 2, max: 100 })
        .withMessage('产品名称长度必须在2-100个字符之间'),
    body('cost_price')
        .optional()
        .isDecimal()
        .withMessage('成本价必须是数字'),
    body('retail_price')
        .optional()
        .isDecimal()
        .withMessage('零售价必须是数字'),
    body('wholesale_price')
        .optional()
        .isDecimal()
        .withMessage('批发价必须是数字'),
    body('category_id')
        .notEmpty()
        .withMessage('请选择产品分类')
        .isInt()
        .withMessage('分类ID必须是整数'),
    body('specifications')
        .optional()
        .isLength({ max: 1000 })
        .withMessage('产品规格长度不能超过1000个字符')
]

// 更新产品验证规则
const updateProductSchema = [
    body('product_id')
        .notEmpty()
        .withMessage('产品ID不能为空')
        .isInt()
        .withMessage('产品ID必须是整数'),
    body('product_name')
        .optional()
        .isLength({ min: 2, max: 100 })
        .withMessage('产品名称长度必须在2-100个字符之间'),
    body('cost_price')
        .optional()
        .isDecimal()
        .withMessage('成本价必须是数字'),
    body('retail_price')
        .optional()
        .isDecimal()
        .withMessage('零售价必须是数字'),
    body('wholesale_price')
        .optional()
        .isDecimal()
        .withMessage('批发价必须是数字'),
    body('category_id')
        .optional()
        .isInt()
        .withMessage('分类ID必须是整数'),
    body('specifications')
        .optional()
        .isLength({ max: 1000 })
        .withMessage('产品规格长度不能超过1000个字符')
]

module.exports = { 
    addProductSchema,
    updateProductSchema
}